home *** CD-ROM | disk | FTP | other *** search
- --= SID = SIMTEL20 Ada Software Repository Item Description File = SID =--
- -- UNIT NAME : SE, OOD, and OOP Courseware
- -- VERSION : 1.0
- -- REVIEW CODE : NR
- -- DDN ADDRESS : hcarter@vlsisun.ece.uc.edu, rconn@vlsisun.ece.uc.edu
- -- AUTHOR : Harold Carter, Richard Conn
- -- : Department of Electrical and Computer Engineering
- -- : University of Cincinnati
- -- : Mail Location 30
- -- : Cincinnati, Ohio 45221-0030
- -- : 513/556-4781 (Harold Carter, work)
- -- RIGHTS : PUBLIC DOMAIN
- -- COPYRIGHT : None
- -- DATE CREATED : August, 1992
- -- DATE RELEASED : 6 May 1993
- -- DATE LAST UPDATED : 6 May 1993
- -- LOCATION : ASR and mirror sites
- -- LOCATION : ASSET
- -- ENVIRONMENT : DEC VAX/VMS, DEC Ada
- -- ENVIRONMENT : Sun SunOS 4.x, Alsys Ada
- -- ENVIRONMENT : Sun SunOS 4.x, Sun/Verdix Ada
- -- ENVIROMENT : PC, MSDOS 3.3 or greater, Alsys Ada
- -- LIMITATIONS : None
- --= CLASSIFICATION ===============================================--
- -- CATEGORY LEVEL 1 : COURSEWARE
- -- CATEGORY LEVEL 2 : SOFTWARE ENGINEERING, OOD, OOP
- -- CATEGORY LEVEL 3 : UNIVERSITY OF CINCINNATI
- -- CATEGORY LEVEL 4 :
- -- KEYWORD :
- -- INDEX : Software Engineering with Ada Course
- -- INDEX : Software Engineering Lab Course
- -- INDEX : Object-Oriented Design Course
- -- INDEX : Object-Oriented Programming Course
- -- INDEX : Ada
- -- INDEX : C++
- -- DEPENDENCIES : None
- -- SEE ALSO : MANIFEST.TXT in C01RDME.ZIP
- -- SHORT DESCRIPTION : Courseware on Software Engineering, OOD, OOP
- --= FILE LISTING ===============================================--
- -- FILE SPECS : PD:<MSDOS.ADA>C01*.ZIP
- -- DIRECTORY DISPLAY :
- -- Directory PD:<MSDOS.ADA>
- -- File Name Bytes Lines
- -- --------------- -------- ------
- -- C01LAB1.ZIP 451682 Binary
- -- C01LAB2.ZIP 217031 Binary
- -- C01LAB3.ZIP 1310460 Binary
- -- C01LAB4.ZIP 780422 Binary
- -- C01LAB5.ZIP 230581 Binary
- -- C01LAB6.ZIP 20017 Binary
- -- C01OOD.ZIP 343619 Binary
- -- C01OOP.ZIP 337197 Binary
- -- C01PLAB.ZIP 217400 Binary
- -- C01POOD.ZIP 597264 Binary
- -- C01POOP.ZIP 672600 Binary
- -- C01PSE1.ZIP 990680 Binary
- -- C01PSE2.ZIP 422295 Binary
- -- C01RDME.ZIP 26079 Binary
- -- C01SE.ZIP 620163 Binary
- -- =============== ======== ======
- -- 15 Files 7237490 0
- --= ABSTRACT ===============================================--
- -- INTRODUCTION
- --
- -- This courseware consists of three courses: Software Engineering with Ada
- -- (including a Lab), Object-Oriented Design, and Object-Oriented
- -- Programming with Ada and C++. These courses are designed to be taught
- -- as a sequence: Software Engineering with Ada, Object-Oriented Design,
- -- and Object-Oriented Programming with Ada and C++.
- --
- -- See the file MANIFEST.TXT in C01RDME.ZIP for a detailed description of
- -- all documents and code provided with each course. See the C01RDME.ZIP
- -- file for other useful introductory material as well.
- --
- -- Texts for these courses are:
- -- Software Engineering: "Software Engineering: A Practitioner's Approach,
- -- 3rd Edition" by Roger S. Pressman, McGraw-Hill, 1992, ISBN 0-07-050814-3.
- -- Software Engineering (optional): "Rendezvous with Ada: A Programmer's
- -- Introduction" by David J. Naiditch, Wiley, 1989, ISBN 0-471-61654-0.
- -- Object-Oriented Design and Programming: "Object-Oriented Design with
- -- Applications" by Grady Booch, Benjamin/Cummings, 1991, ISBN 0-8053-0091-0.
- --
- -- All documents are provided in two formats: the original word processor
- -- format (to facilitate editing and tailoring as desired) and Postscript.
- -- The following tools are required to edit all the documents:
- -- 1. Microsoft Word for Windows 2.0
- -- 2. Microsoft Powerpoint 3.0
- -- 3. Interleaf 5.0
- --
- -- All courseware (documents, code, etc) is provided in *.ZIP files. These
- -- files can be unpacked (each in its own directory) by using PkWare's
- -- PKZIP/PKUNZIP 1.1 or equivalent (Info-ZIP's zip and unzip also work).
- --
- -- A validated Ada83 compiler is required to compile the Ada source code.
- -- We have successfully compiled and run/used all provided Ada source code
- -- on a Sun using Sun Ada/Verdix Ada, on a Sun using Alsys Ada, on a PC
- -- using Alsys Ada, and on a DEC VAX/VMS using DEC Ada. We suspect that
- -- the code should be transportable to other validated Ada compilers as
- -- well.
- --
- -- COURSE 1. SOFTWARE ENGINEERING WITH ADA
- --
- -- Software Engineering with Ada (which includes a Lab) is an introductory
- -- course in software engineering. It covers the following principal
- -- topics: an introduction to the concept of software engineering, software
- -- project planning, software requirements analysis, software design and
- -- software design methodologies, coding, testing, and delivery and
- -- maintenance. There is a heavy emphasis in the Ada programming language
- -- and how it supports various aspects of the development of an engineered
- -- software system.
- --
- -- The laboratory portion of the course reinforces the lecture by making
- -- the students, as 2-3 person teams, prepare a software development plan,
- -- a software requriements specification, a software design document, a
- -- software user's manual, and IV&V reports. Templates, based on
- -- DoD-STD-2167A DIDs, are provided to facilitate the creation of these
- -- documents.
- --
- -- Five student projects are included, and three of these projects are
- -- oriented to making the students design software which interacts with a
- -- system simulator. Three working system simulators, written in Ada, are
- -- included: a spacecraft monitoring simulation, an automobile simulation,
- -- and a buoy simulation.
- --
- -- The student projects are supported by a reusable components library,
- -- called CS Parts, as well as the three simulators. CS Parts contains a
- -- large number of basic components, such as a math package, linked list
- -- packages, string manipulation packages, and more advanced components,
- -- such as a VT100 interface and a report generator. On the average,
- -- students find that approximately 85% of the code in their problem
- -- solutions is reused from CS Parts. Such a high level of reuse greatly
- -- speeds project development, making it practical for a student team to
- -- generate all the required documents and working code in a 10-week lab
- -- period.
- --
- -- Since this is a software engineering course, it is not desired to take
- -- much time to teach the Ada language itself. Three aids are provided to
- -- assist the students not proficient in Ada to learn it outside of class:
- -- an online Ada Language Reference Manual Reader, an interactive Ada
- -- language tutorial, and a workbook on the Ada language which includes 24
- -- solved problems.
- --
- -- An online Ada Language Reference Manual Reader, written in Ada, is
- -- included as a working program, complete with a detailed Software
- -- Requirements Specification, Software User's Manual, and Software Design
- -- Document. These documents provide models for the students to follow in
- -- the construction of the documents for their projects as well as food for
- -- discussion in class. Additionally, the online Ada Language Reference
- -- Manual Reader can be used by the students, thereby eliminating the need
- -- for them to purchase copies of this document. A ready-to-run executable
- -- of this reader for the IBM PC and its clones is included as well as the
- -- source code in Ada.
- --
- -- An interactive tutorial on the Ada language, written in Ada, is
- -- included. This is a shareware product and funding should be provided to
- -- the author should the instructor decide to use it for his class.
- --
- -- A workbook on the Ada language, which includes 24 short problems and
- -- their solutions, is included.
- --
- -- COURSE 2. OBJECT-ORIENTED DESIGN
- --
- -- The Object-Oriented Design course covers the following topics: a review
- -- of key concepts from Software Engineering, graphical notation used as
- -- a basis of communication, the object model (with emphasis on applying
- -- the Spiral Model of software development), and object classification.
- --
- -- This course is a lecture-only course. Students are required to create
- -- object-oriented requirements and design documents based in part on
- -- DoD-STD-2167A.
- --
- -- COURSE 3. OBJECT-ORIENTED PROGRAMMING
- --
- -- The Object-Oriented Programming course covers the following topics:
- -- a review of key topics in Software Engineering and Object-Oriented
- -- Design, graphical notation, the object model, and an overview of the
- -- Ada and C++ languages, concentrating on the features of each.
- --
- -- This course is a lecture/lab course, and the lab consists of a single
- -- project to be solved by several 2-5 person student teams: create a
- -- reader for the Ada Language Reference Manual using the Spiral Model of
- -- software development and object-oriented techniques. Students are
- -- required to create an object-oriented software requirements
- -- specification and software design document as well as write the code of
- -- the solution. The teams are divided into two groups: one uses Ada as an
- -- implementation language during the first iteration of the spiral and the
- -- other uses C++. Half way through the class, the teams who developed in
- -- Ada inherit the code and documents created by a C++ team and the teams
- -- who developed in C++ inherit the code and documents created by an Ada
- -- team. A long discussion period is set aside at the end of the class to
- -- discuss lessons learned from inheriting code from others in each
- -- language and to compare the students' designs with the design of the Ada
- -- LRM Reader provided with the Software Engineering class.
- --
- -- An Ada workbook and a C++ workbook are included as material for this
- -- course. Material from the Software Engineering course may be reused for
- -- this course as well.
- --
- -- CREDITS
- --
- -- Development of the Software Engineering course was funded by the Ada
- -- Joint Program Office through DARPA/CMO 91-18 (Curriculum Development in
- -- Software Engineering and Ada) as announced in the 16 July 1991 issue
- -- of the Commerce Business Daily. We wish to thank the AJPO and DARPA/CMO
- -- for their support and interest in this project. Work was done jointly
- -- by Professor Harold Carter and Professor Richard Conn.
- --
- -- Development of the Object-Oriented Design and Object-Oriented Programming
- -- courses was funded by the University of Cincinnati, Department of Electrical
- -- and Computer Engineering. Work was done by Professor Richard Conn.
- --
- -- We also wish to thank the manufacturers who worked with us to bring
- -- their products into the university environment for our use and the use
- -- of our students at a very reasonable cost. Those manufacturers are
- -- Microsoft, Interleaf, PkWare, Sun, Verdix, Alsys, DEC, and John Herro.
- --= REVISION HISTORY ===============================================--
- -- DATE VERSION AUTHOR HISTORY
- -- 05/06/93 1.0 Harold Carter, Richard Conn Initial Release
- --= RELEASE NOTICE ===============================================--
- -- This software is released to the Public Domain (note:
- -- software released to the Public Domain is not subject
- -- to copyright protection).
- -- Restrictions on use or distribution: NONE; Distribution Unlimited
- --= DISCLAIMER ===============================================--
- -- This courseware, software, and documentation are provided "AS IS"
- -- without any expressed or implied warranties whatsoever. No warranties
- -- as to performance, merchantability, or fitness for a particular
- -- purpose exist.
- -- The user is advised to test the software thoroughly before
- -- relying on it. The user must assume the entire risk and liability of
- -- using this software. In no event shall any person or organization of
- -- people be held responsible for any direct, indirect, consequential or
- -- inconsequential damages or lost profits.
- --======================================================================--
-